<?php

/***

LZRoster: A roster for World of Warcraft.
Copyright (C) 2007  Emmanuel Cron

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

***/

require_once "class/Load.class.php";
require_once "class/Inputs.class.php";
require_once "class/Status.class.php";
require_once "class/Config.class.php";
require_once "class/Localization.class.php";
require_once "class/SessionRoster.class.php";
require_once "class/LocaleContainer.class.php";
require_once "class/SubscriptionManager.class.php";

$load = Load::GetInstance();
$inputs = Inputs::GetInstance();
$config = Config::GetInstance();
$localization = Localization::GetInstance();
$locale_container = LocaleContainer::GetInstance();
$session_roster = SessionRoster::GetInstance();

if ($inputs->HasGetData('l'))
{
	if ($locale_container->HasLocale($inputs->Get('l')))
	{
		if ($session_roster->IsConnected())
		{
			$subscription_manager = SubscriptionManager::GetInstance();
			
			$subscription_manager->SetLocale( $session_roster->GetAccountId(), $inputs->Get('l') );
		}
		
		$session_roster->SetLocalization($inputs->Get('l'));
		$session_roster->Redirect('change_language.php?redirect');
	}
	else
	{
		$status = Status::GetInstance();
		$status->AddError($localization->Get('invalid language'));
		
		$session_roster->SaveStatus($status);
		$session_roster->Redirect('change_language.php');
	}
}

if ($inputs->HasGetData('from'))
{
	$session_roster->SetDestination($inputs->Get('from'));
	$session_roster->Redirect('change_language.php');
}

if ($inputs->HasGetData('redirect'))
{
	$session_roster->Redirect($session_roster->GetDestination());
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
	<head>
		<title>LZRoster<?php echo $config->HasRosterTitle() ?  " - ".$config->GetRosterTitle() : null; ?></title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet" media="screen" type="text/css" href="styles/_.css" />
		<script type="text/javascript" src="js/overlib.js"><!-- overLIB (c) Erik Bosrup --></script>
	</head>
	<body>
		
		<?php require_once "inc/head.php"; ?>
		
		<h2><?php echo $localization->Get('change language'); ?></h2>
		
		<?php
		if ($session_roster->HasStatus())
		{
		?>
			
			<p>
				<?php echo $localization->Get('an error occured. please refer to the following messages'); ?>
			</p>
			
			<?php echo $session_roster->GetStatus()->GetStack_InList(); ?>
			
			<p>
				<?php echo $localization->Get('you can refresh the page %s and try again', "change_language.php"); ?>
			</p>
			
		<?php
		}
		else
		{
		?>
		
		<p style="text-align: center;">
			<?php echo $localization->Get('please choose language'); ?><br />
			
			<?php
			foreach($locale_container->GetAvailableLocales() as $l)
			{
			?>
			
				<img src="img/locale/<?php echo $l->GetImage(); ?>" alt="" style="vertical-align: middle;" /> <a href="?l=<?php echo $l->GetId(); ?>"><?php echo $l->GetName(); ?></a>
			
			<?php
			}
			?>
			
		</p>
		
		<?php
		}
		?>
		
		<?php require_once "inc/foot.php"; ?>
		
	</body>
</html>